Tailwind CSSが負債化するとは
@mizchi氏のこのツイートを発端に2023/5/23付近で盛り上がってた @mizchi: tailwind 絶対数年後に激ヤバ負債になってるという確信がある @mizchi: じゃあ何を選べばって話、とりあえず各Viewライブラリが当然持ってるであろう Scoped CSS でコンポーネントに閉じて外に影響でなければなんでもいいと思います(今は) @mizchi: React にはプリインされてないけど Scoped CSS の選択肢は無限にあるから好きなの選べばよい @mizchi: あとCSSの慣習的な書き方が、もうちょっと親コンテナ側からの長さの予測がしやすいボックスモデルに寄ってくれると嬉しいとずっと思ってる。今のごりごりにリキッドな書き方だと、クリティカルレンダリングパス分析やスケルトンスクリーンの実装に優しくない。 @mizchi: 要はルートのレイアウト要素がvx/vy の幅を持つ display: grid になっていてほしい 強い表現をしている割に詳細が述べられてないので、どこに対する批判なのかわかりづらい
連投してるものを見た感じこの辺に対する指摘か
Scoped CSSの欠如
これはわかるmrsekut.icon
でもこれ、頑張れば解決できそうな気もするけどどうなんだろう
思想的に無理なのか
buildしたときに生成されるCSSが増える
この主張からは、対CSSではないこともわかる
「Tailwindは負債化すると言っても、素のCSSのほうがヤバいだろ」はズレる
Box Modelの扱い
ルートのレイアウト要素
これTailwind関係なくない?
見た感じ、Tailwind CSSそのものが悪いと言うよりは、
CSS全体の仕組みがそもそもミスっていて、
そこが原因で全体でそもそも負債化する、
という感じに読める
最近はTailwind CSSが良く使われてるが、これを使っても別に解決せんよ、的な
Tailwind CSSってカバーする側面が広いので、どの部分を批判しているかを明確にしないと人によってめちゃくちゃズレると思う
デザインシステムごりごりにやって運用してるとか、
自作ルール作りまくってるとか、defaultルールだけでやってるとか、
新規に導入したとか、途中から導入したとか、
Componentの切り方を理解してるかどうかとか、
Layout Primitive的な考えが根付いてるかどうかとか、
classNameが長いとか、意図が分かりづらいとか、そういうのはComponentを適切に作ることで解決できると思う
が、デザインゴリゴリアプリケーションなら難しいかもしれない
その場合は、そもそも技術選定がミスってるよね、という話にもなりそう
ありそうなので言うと、
CSS自体の新機能が追加されるたびに、Tailwindがそれに追従していかないといけない
ここ、すでに破綻してる感じもあって、grid-colsとかはほぼ[]を使わないと無理、みたいになってる
でもまあ、これもTailwindの一側面という感じではある
デザインシステム観点というか
頭ごなしに[]を否定する意味もない
tailwind使わなかったとしても具体的な値指定せずに実現するの無理では
ここは「デザインシステム」という用語の定義というか、そういう話になってくると思う
全ページ、全パーツのレイアウトを規定することにどれほど意味があるのか
そもそも「負債化する」ってなんやねん、というのもある TailwindってComponentにほぼ閉じてるから、別のツールに移行するとかも段階的にできるので、剥がすのが死ぬほど辛いとかにはならない
機械的に素のCSSに変換するとかもできる